package com.weitu.observation.observationCard.service;

import com.weitu.observation.observationCard.entity.ObservationCard;
import com.weitu.observation.observationCard.entity.ObservationCardOpinionCreate;
import com.weitu.observation.observationCard.entity.ObservationCardOptionAnalysis;
import com.weitu.permission.dictionary.entity.Dictionary;

import java.util.List;
import java.util.Map;

/**
 * Created by smp on 2017/4/1.
 */
public interface ObservationCardService {
    /**
     * 分页查询观察卡
     * @param map
     * @return
     */
    List<ObservationCard> queryObservationList(Map<String,Object> map);

    /**
     * 计算观察卡总数量
     * @param map
     * @return
     */
    int queryCount(Map<String,Object> map);

    /**
     * 插入观察卡
     * @param observationCard
     * @return
     */
    int insertCard(ObservationCard observationCard, List<ObservationCardOpinionCreate> list);
    /**
     * 根据id查询观察卡
     * @param id
     * @return
     */
    ObservationCard selectById(String id);
    /**
     * 观察卡提示
     * @return
     */
    List<Dictionary> selectCardPrompt(String str);

    /**
     * 查询关联的字典id
     * @param cardId
     * @return
     */
    List<ObservationCardOpinionCreate> selectOpinionIdByCardId(String cardId);

    /**
     * 更新观察卡
     * @param observationCard
     * @param list
     * @param id
     * @return
     */
    int updateCard(ObservationCard observationCard, List<ObservationCardOpinionCreate> list,String id);
    /**
     * 更新观察卡
     * @param observationCard
     * @return
     */
    int updateCard(ObservationCard observationCard);
    /**
     * 分析观察卡
     * @param observationCard
     * @return
     */
    int analysisCard(ObservationCard observationCard, List<ObservationCardOptionAnalysis> list);

    /**
     * 查询关联的字典id
     * @param cardId
     * @return
     */
    List<ObservationCardOptionAnalysis> selectOptionAnalysisIdByCardId(String cardId);
    /**
     * 删除观察卡
     * @param id
     * @return
     */
    int deleteCard(String id);
}
